package Dao;

import entity.KnowledgeBase;

import java.sql.SQLException;
import java.util.List;

/**
 * @Author Su
 * @Date 2025/4/27 21:50
 * @Version 1.0 （版本号）
 */
public interface KnowledgeBaseDAO {
    /**
     * 创建知识库
     */
    KnowledgeBase create(KnowledgeBase knowledgeBase) throws SQLException;

    /**
     * 更新知识库信息
     */
    boolean update(KnowledgeBase knowledgeBase) throws SQLException;

    /**
     * 删除知识库
     */
    boolean delete(int knowledgeBaseId, int creatorId) throws SQLException;

    /**
     * 根据ID获取知识库
     */
    KnowledgeBase findById(int knowledgeBaseId) throws SQLException;

    /**
     * 获取用户创建的知识库列表
     */
    List<KnowledgeBase> findByCreator(int creatorId) throws SQLException;

    /**
     * 获取用户有权限访问的知识库列表
     */
    List<KnowledgeBase> findAccessibleByUser(int userId) throws SQLException;
}